Pocitadlo stazenych dat pres HTTP v synapsy
Otázka od: Milos Jircik
23. 11. 2004 15:51
Zdravim, pouzil jsem synapsy pro stazeni dat (html stranky) pomoci HTTP
protokolu. Vse je v poradku az na zobrazeni prubehu stazenych dat. Pro
stazeni jsem pouzil tridu THTTPSend na jeji udalost OnStatus jsem
povesil svoji proceduru a v ni mam nasledujici kod:
case reason of
HR_ReadCount:
begin
fUchazecDownloadInfo.valueR := fUchazecDownloadInfo.valueR +
StrToInt(value);
if (fUchazecDownloadInfo <> nil) then
begin
fUchazecDownloadInfo.btnCancel.Enabled := true;
fUchazecDownloadInfo.lText.Caption := 'Prijato ' +
IntToStr(fUchazecDownloadInfo.valueR div 1024) + ' Kb z ' +
IntToStr(HTTP2.DownloadSize div 1024) + ' Kb.';
end;
Application.ProcessMessages;
fUchazecDownloadInfo.Update;
end;
HR_WriteCount:
begin
fUchazecDownloadInfo.valueW := fUchazecDownloadInfo.valueW +
StrToInt(value);
if (fUchazecDownloadInfo <> nil) then
begin
fUchazecDownloadInfo.btnCancel.Enabled := true;
fUchazecDownloadInfo.lText.Caption := 'Odeslano ' +
IntToStr(fUchazecDownloadInfo.valueW) + ' b z ' +
IntToStr(HTTP2.DownloadSize) + ' b.';
end;
Application.ProcessMessages;
fUchazecDownloadInfo.Update;
end;
end;
Problem je v tom, ze soucet hodnot z promenne value nesedi s hodnotou
DownloadSize nebo UploadSize (rozdil neni velky, ale prece jen je). V
cem je problem?
Diky Milda.
Odpovedá: Lukas Gebauer
23. 11. 2004 16:31
> Problem je v tom, ze soucet hodnot z promenne value nesedi s hodnotou
> DownloadSize nebo UploadSize (rozdil neni velky, ale prece jen je). V
> cem je problem?
Zcela urcite nebude sedet o mnozstvi dat posilane v hlavickach HTTp
dotazu. V pripade, ze je downloadsize ci uploadsice nulove, je
potreba udalost o cteni ci zapiu dat ignorovat a nezapocitavat do
celkoveho preneseneho mnozstvi dat.
--
Lukas Gebauer.
E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.